// src/snake.h

#ifndef SNAKE_H
#define SNAKE_H

// 蛇的最大长度
#define MAX_LENGTH 100
// 蛇身体的字符表示
#define SNAKE_CHAR 'S'
// 蛇头的字符表示
#define SNAKE_HEAD 'H'

// 定义方向的枚举类型
typedef enum Direction {
    UP,
    DOWN,
    LEFT,
    RIGHT
} Direction;

// 定义坐标的结构体
typedef struct Coordinate {
    int x;
    int y;
} Coordinate;

// 蛇的结构体
typedef struct Snake {
    Coordinate body[MAX_LENGTH];
    int length;
    Direction dir;
} Snake;

// 初始化蛇
void initSnake(Snake* snake);

// 蛇移动的函数
void moveSnake(Snake* snake);

// 判断蛇是否碰撞到自己或墙壁的函数
int checkCollision(Snake* snake);

#endif
